Skip to content

[stable32] fix(Database): Use real idle-timer to prevent lastInsertId being reset on MariaDB/MySQL - #62712

Open
backportbot[bot] wants to merge 2 commits into
stable32from
backport/62697/stable32
Open

[stable32] fix(Database): Use real idle-timer to prevent lastInsertId being reset on MariaDB/MySQL#62712
backportbot[bot] wants to merge 2 commits into
stable32from
backport/62697/stable32

Conversation

@backportbot

@backportbot backportbot Bot commented Jul 30, 2026

Copy link
Copy Markdown

Backport of #62697

Warning, This backport's changes differ from the original and might be incomplete ⚠️

Todo

  • Review and resolve any conflicts
  • Review and verify the backported changes
  • Amend HEAD commit to remove the line stating to skip CI

Learn more about backports at https://docs.nextcloud.com/server/stable/go.php?to=developer-backports.

@backportbot backportbot Bot added bug 3. to review Waiting for reviews tests Related to tests CI feature: database Database related DB AI assisted labels Jul 30, 2026
@backportbot backportbot Bot added this to the Nextcloud 32.0.14 milestone Jul 30, 2026
DerDreschner and others added 2 commits August 6, 2026 12:06
…set on MariaDB/MySQL

The previous implementation of the idle timer runs on a strict 30 second interval and sends a dummy `SELECT` statement to keep the connection open.

This generates issues with the `lastInsertId` on long-running tasks (like our CI pipeline), as the MariaDB documentation clearly states:

> If the last query wasn't an INSERT or UPDATE statement or if the modified table does not have a column with the AUTO_INCREMENT attribute and LAST_INSERT_ID was not used, this function will return zero.

Source: https://mariadb.com/docs/connectors/mariadb-connector-c/api-functions/mysql_insert_id

To mitigate that, this commit now uses a real idle-timer per connection instead.

Assisted-by: ClaudeCode:claude-fable-5
Signed-off-by: David Dreschner <david.dreschner@nextcloud.com>
Signed-off-by: Carl Schwan <carl@carlschwan.eu>
@CarlSchwan
CarlSchwan force-pushed the backport/62697/stable32 branch from f618ce2 to 0fae90b Compare August 6, 2026 10:07
@CarlSchwan
CarlSchwan marked this pull request as ready for review August 6, 2026 10:07
@CarlSchwan
CarlSchwan requested a review from a team as a code owner August 6, 2026 10:07
@CarlSchwan
CarlSchwan requested review from Altahrim, come-nc and salmart-dev and removed request for a team August 6, 2026 10:07
@DerDreschner

Copy link
Copy Markdown
Contributor

The failing tests are unrelated to my changes.

@DerDreschner DerDreschner added 4. to release Ready to be released and/or waiting for tests to finish and removed 3. to review Waiting for reviews labels Aug 9, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

4. to release Ready to be released and/or waiting for tests to finish AI assisted bug CI feature: database Database related DB tests Related to tests

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants